// pages/car/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
     carlist:[],
     total:0,
     sellAll:true,//是否全选 
  },
  /**
   * 数量减1
   * @param {*} e 
   */
  jian(e) {
    const index = e.currentTarget.dataset.index;
    console.log("index<<<<<",index);
    const carlist = wx.getStorageSync('carlist');// 获取缓存在本地数据中的 carlist 数组
    if (carlist[index].num == 1) {
     return;
    }
    carlist[index].num -= 1;
    this.setData({ carlist });
    wx.setStorageSync("carlist",carlist);
  },
  toadd(e) {
    const index = e.currentTarget.dataset.index;// 获取点击事件的目标元素的 data-index 属性值
    console.log("index<<<<<",index);
    const carlist = wx.getStorageSync('carlist');// 获取缓存在本地数据中的 carlist 数组
     carlist[index].num += 1; // 将指定索引位置的商品数量加 1
    this.setData({ carlist });  // 更新页面数据，触发视图更新
    wx.setStorageSync("carlist",carlist);

    this.cal();
  },
  //全选 
  selectAll(e){
    let tmp=!this.data.sellAll;

    //遍历商品
    let tmplist=this.data.carlist;
    tmplist.forEach(el=>{
      el.checkd=tmp;
    });

    //关键一点 将数据发送到渲染页面  
    this.setData({
      sellAll:tmp,
      carlist:tmplist
    });

    this.cal();
 },
  //单击复选框
  sel(event){

    //获取当前对象 
    let index=event.currentTarget.dataset.index;
    const carlist = wx.getStorageSync('carlist');
    // let item=this.data.carlist[index];
    let item=carlist[index];
    item.checkd=!item.checkd;
    this.setData({
      // "carlist":this.data.carlist
      carlist
    });
    wx.setStorageSync('carlist', carlist)

    let flag=false;//商品列表选项中 是否有没选中的 
    for(let i in this.data.carlist){
        let obj=this.data.carlist[i];
        if(obj.checkd==false){
          flag=true;
          break;
        }
    }

    if(flag){
        this.setData({
          sellAll:false
        });
    }else{
      this.setData({
        sellAll:true
      });
    }
 
    this.cal();

  },

  /**
   * 计算总金额
   */
  cal(){
      let tmp=0;
      this.data.carlist.forEach(el=>{
        if(el.checkd){
          tmp+=parseInt(el.num)*parseInt(el.price);
        }
       
      })
      this.setData({
        total:tmp
      });
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    let carlist=wx.getStorageSync('carlist');
    if(carlist){
      //遍历
      carlist.forEach(el=>{
        el.checkd=true;
      });
       this.setData({
         "carlist":carlist
       });
    }else{
      this.setData({
        "carlist":[]
      });
    }
    wx.setStorageSync('carlist', carlist)

     this.cal();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})